package animal;

public class CatTest {
    //单一职责原则(单一功能原则)
    public static void main(String[] args) {
        //对象实例化
        Cat one=new Cat();
        Cat three=new Cat("花花",2,1000,"英国短毛猫");
        System.out.println(three.name);
        System.out.println(three.age);
        System.out.println(three.weight);
        System.out.println(three.species);
        three.run("花花");
        /*
        声明对象,在栈里面开辟一块空间
        实例化对象.在堆里面开辟一块空间
        通过赋值符号,将堆空间的内存地址放到栈里面
         */
//        Cat two;//声明对象,在栈里面开辟一块空间
//        two=new Cat();//实例化对象.在堆里面开辟一块空间
//        one.name="花花";
//        one.age=1;
//        one.weight=1000;
//        one.species="英国短毛猫";
//        System.out.println(one.name);
//        System.out.println(one.age);
//        System.out.println(one.weight);
//        System.out.println(one.species);
//        one.run(one.name);
//        one.eat(one.name);
//        three.eat("花花");

        //1.构造方法与类同名并且没有返回值
        //2.构造方法的语句格式
        //public CatTest(){
        //
        // }
        //构造方法只能在实例化对象的时候调用,在实例化对象的时候自动调用

/*
封装
将该类的某些信息隐藏在类的内部,不允许外部程序直接访问
通过该类提供的方法实现对隐藏信息的操作和访问
隐藏对象的信息
留出访问的接口
 */

    }

}
